Field of the Invention
This disclosure relates generally to methods and apparatus for improving the ability of a memory storage system to efficiently and effectively protect, store and retrieve data stored in multiple storage locations.
Description of the Related Art
In certain memory storage systems data is stored in multiple storage locations. For example, in some such systems, multiple individual hard disks or memory chips are used to store data and the data stored in one or more of the storage devices is associated with data stored in other storage devices in such a manner that data errors in one or more storage devices can be detected and possibly corrected. One such approach is to store a given quantity of data across multiple storage locations by dividing the data into data portions of equal length—the individual data portions sometimes being referred to as “data pages”—and then storing the data pages in multiple storage locations such that one data page is stored in each storage device. In connection with this approach, a further storage device may be used to store a page of data protection information, where a given page of data protection information is associated with a specific set of data pages stored in the multiple storage locations. In some instances, the set of data pages in the multiple locations that is used to store associated data is referred to as a “data stripe” or “page stripe.”
In systems as described above, if there is a full or complete failure of the structure associated with a given memory location (e.g., the specific memory device associated with that location fails), the data protection information for a given data stripe can often be used to reconstruct the data in the data page that was stored in the failed memory location. Using the reconstructed data, the data for the entire data stripe may be reconstructed.
A novel system and method for using data stripes is disclosed in commonly-owned U.S. Pat. No. 7,856,528, “Method and Apparatus for Protecting Data Using Variable Size Page Stripes in a Flash-Based Storage System,” issued on Dec. 21, 2010.
While the approach described above can beneficially detect and respond to the failure of a memory storage location within a memory storage system, additional protective measures can be beneficially provided.